package com.example.zhujingmin.handlerthread;

import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;

public class MainActivity extends AppCompatActivity {
    ProgressBar progressBar =null;
    Button startButton =null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        progressBar =(ProgressBar)findViewById(R.id.progressBar);
        startButton=(Button)findViewById(R.id.startButton) ;
        startButton.setOnClickListener(new ButtonListener());
    }

    class ButtonListener implements View.OnClickListener {
        @Override
        public void onClick(View v) {
            progressBar.setVisibility(View.VISIBLE);
            updateBarHandler.post(updateThread);
        }
    }
    Handler updateBarHandler=new Handler(){
        public void handlerMessage(Message msg){
            progressBar.setProgress(msg.arg1);
            updateBarHandler.post(updateThread);
        }
    };
        Runnable updateThread = new Runnable() {
            int i = 0;

            @Override
            public void run() {
                System.out.println("Begin Thread");
                i = i + 10;
                Message msg = updateBarHandler.obtainMessage();
                msg.arg1 = i;
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                if (i == 100) {
                    updateBarHandler.removeCallbacks(updateThread);
                }
            }
        };
    }
